/**
 */
package usixmlcui;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Menu Bar Item</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link usixmlcui.MenuBarItem#getText <em>Text</em>}</li>
 *   <li>{@link usixmlcui.MenuBarItem#getMnemonic <em>Mnemonic</em>}</li>
 *   <li>{@link usixmlcui.MenuBarItem#getIndex <em>Index</em>}</li>
 *   <li>{@link usixmlcui.MenuBarItem#getEReference0 <em>EReference0</em>}</li>
 *   <li>{@link usixmlcui.MenuBarItem#getEReference1 <em>EReference1</em>}</li>
 * </ul>
 * </p>
 *
 * @see usixmlcui.Usixml_cuiPackage#getMenuBarItem()
 * @model
 * @generated
 */
public interface MenuBarItem extends EObject {
	/**
	 * Returns the value of the '<em><b>Text</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Text</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Text</em>' attribute.
	 * @see #setText(String)
	 * @see usixmlcui.Usixml_cuiPackage#getMenuBarItem_Text()
	 * @model
	 * @generated
	 */
	String getText();

	/**
	 * Sets the value of the '{@link usixmlcui.MenuBarItem#getText <em>Text</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Text</em>' attribute.
	 * @see #getText()
	 * @generated
	 */
	void setText(String value);

	/**
	 * Returns the value of the '<em><b>Mnemonic</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Mnemonic</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Mnemonic</em>' attribute.
	 * @see #setMnemonic(String)
	 * @see usixmlcui.Usixml_cuiPackage#getMenuBarItem_Mnemonic()
	 * @model
	 * @generated
	 */
	String getMnemonic();

	/**
	 * Sets the value of the '{@link usixmlcui.MenuBarItem#getMnemonic <em>Mnemonic</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Mnemonic</em>' attribute.
	 * @see #getMnemonic()
	 * @generated
	 */
	void setMnemonic(String value);

	/**
	 * Returns the value of the '<em><b>Index</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Index</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Index</em>' attribute.
	 * @see #setIndex(int)
	 * @see usixmlcui.Usixml_cuiPackage#getMenuBarItem_Index()
	 * @model
	 * @generated
	 */
	int getIndex();

	/**
	 * Sets the value of the '{@link usixmlcui.MenuBarItem#getIndex <em>Index</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Index</em>' attribute.
	 * @see #getIndex()
	 * @generated
	 */
	void setIndex(int value);

	/**
	 * Returns the value of the '<em><b>EReference0</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>EReference0</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>EReference0</em>' reference.
	 * @see #setEReference0(ConcreteGraphicalElementaryIU)
	 * @see usixmlcui.Usixml_cuiPackage#getMenuBarItem_EReference0()
	 * @model
	 * @generated
	 */
	ConcreteGraphicalElementaryIU getEReference0();

	/**
	 * Sets the value of the '{@link usixmlcui.MenuBarItem#getEReference0 <em>EReference0</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>EReference0</em>' reference.
	 * @see #getEReference0()
	 * @generated
	 */
	void setEReference0(ConcreteGraphicalElementaryIU value);

	/**
	 * Returns the value of the '<em><b>EReference1</b></em>' reference.
	 * It is bidirectional and its opposite is '{@link usixmlcui.Menu#getEReference0 <em>EReference0</em>}'.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>EReference1</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>EReference1</em>' reference.
	 * @see #setEReference1(Menu)
	 * @see usixmlcui.Usixml_cuiPackage#getMenuBarItem_EReference1()
	 * @see usixmlcui.Menu#getEReference0
	 * @model opposite="EReference0"
	 * @generated
	 */
	Menu getEReference1();

	/**
	 * Sets the value of the '{@link usixmlcui.MenuBarItem#getEReference1 <em>EReference1</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>EReference1</em>' reference.
	 * @see #getEReference1()
	 * @generated
	 */
	void setEReference1(Menu value);

} // MenuBarItem
